﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TD.bom
{
    /// <summary>
    /// Horloge du jeu
    /// </summary>
    public class Clock
    {

        /// <summary>
        /// true si l'horloge est en pause, false sinon
        /// </summary>
        public bool Paused
        {
            get;
            protected set;
        }

        /// <summary>
        /// Heure indiquée par l'horloge en ms
        /// </summary>
        public uint Time
        {
            get;
            protected set;
        }

        /// <summary>
        /// Constructeur
        /// </summary>
        public Clock()
        {
            Paused = false;
        }

        /// <summary>
        /// Réinitialise l'horloge
        /// </summary>
        public void Reset()
        {
            Time = 0;
            Paused = false;
        }

        /// <summary>
        /// Met l'horloge en pause
        /// </summary>
        public void Pause()
        {
            Paused = true;
        }

        /// <summary>
        /// Remet en marche de l'horloge
        /// </summary>
        public void Resume()
        {
            Paused = false;
        }

        /// <summary>
        /// Avance l'horloge du nombre de millisecondes spécifiées
        /// </summary>
        /// <param name="p_delta">Nb millisecondes à avancer</param>
        public void AddTime(uint p_delta)
        {
            if (!Paused)
            {
                Time += p_delta;
            }
        }
    }
}
